﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DataAccessLayer.Entity;
using BussinessLayer;
namespace QLTSLienThong.Form_he_thong
{
    public partial class frmNgayThi : Form
    {
        public frmNgayThi()
        {
            InitializeComponent();
        }
        NgayThiBussiness ngayThiBus = new NgayThiBussiness();
        clsNgayThi clsNgay;
        bool _KiemTraThemNgay;
        private void LoadNgayThi()
        {
            dataGridViewX1.DataSource = ngayThiBus.LoadNgayThi();
            LoadLencontrol();
            KhoaText();
        }
        private void MoText()
        {
            txtGioThi.ReadOnly = false;
            txtMaNgaThi.ReadOnly = false;
            dtpNgayThi.Enabled = true;
            btnHuyNgay.BringToFront();
            btnLuuNgay.BringToFront();
        }
        private void KhoaText()
        {
            txtGioThi.ReadOnly = true;
            txtMaNgaThi.ReadOnly = true;
            dtpNgayThi.Enabled = false;
            btnHuyNgay.SendToBack();
            btnLuuNgay.SendToBack();
        }
        private void XoaText()
        {
            txtMaNgaThi.Clear();
            txtGioThi.Clear();
            txtMaNgaThi.Focus();
        }
        private void btnLuuNgay_Click(object sender, EventArgs e)
        {
            if (KiemTraThemNgay())
            {
                if (_KiemTraThemNgay)
                {
                    clsNgay = new clsNgayThi();
                    clsNgay.MaNgayThi = txtMaNgaThi.Text.Trim();
                    clsNgay.GioThi = txtGioThi.Text.Trim();
                    clsNgay.NgayThi = dtpNgayThi.Value;
                    ngayThiBus.ThemNgayThi(clsNgay);
                    MessageBox.Show("Thêm thành công!","Thông báo!");
                    LoadNgayThi();
                }
                else
                {
                    clsNgay = new clsNgayThi();
                    clsNgay.MaNgayThi = txtMaNgaThi.Text.Trim();
                    clsNgay.GioThi = txtGioThi.Text.Trim();
                    clsNgay.NgayThi = dtpNgayThi.Value;
                    ngayThiBus.SuaNgayThi(clsNgay);
                    MessageBox.Show("Sửa thành công!", "Thông báo!");
                    LoadNgayThi();
                }
            }
        }

        private void btnHuyNgay_Click(object sender, EventArgs e)
        {
            LoadNgayThi();
        }

        private void btnThemNgay_Click(object sender, EventArgs e)
        {
            _KiemTraThemNgay = true;
            MoText();
            XoaText();
        }

        private void btnSuaNgay_Click(object sender, EventArgs e)
        {
            _KiemTraThemNgay = false;
            MoText();
        }

        private void btnXoaNgay_Click(object sender, EventArgs e)
        {
            XoaNgayThi();
        }

        private void frmNgayThi_Load(object sender, EventArgs e)
        {
            LoadNgayThi();
        }
        private void LoadLencontrol()
        {
            txtMaNgaThi.DataBindings.Clear();
            txtMaNgaThi.DataBindings.Add("Text",dataGridViewX1.DataSource,"MaNgayThi");
            txtGioThi.DataBindings.Clear();
            txtGioThi.DataBindings.Add("Text",dataGridViewX1.DataSource,"GioThi");
            dtpNgayThi.DataBindings.Clear();
            dtpNgayThi.DataBindings.Add("Text",dataGridViewX1.DataSource,"NgayThi");
        }
        bool KiemTraTonTaiMa = true;
        object kq;
        private bool KiemTraThemNgay()
        {
            if (txtMaNgaThi.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập mã ngày!","Thông báo");
                txtMaNgaThi.Focus();
                return false;
            }
            if (_KiemTraThemNgay == false)
            {
                if (txtMaNgaThi.Text.Trim() == dataGridViewX1.CurrentRow.Cells["MaNgayThi"].Value.ToString())
                {
                    KiemTraTonTaiMa = false;
                }
            }
            if (KiemTraTonTaiMa == true)
            {
                clsNgay = new clsNgayThi();
                clsNgay.MaNgayThi = txtMaNgaThi.Text.Trim();
                kq = ngayThiBus.KiemTraMa(clsNgay);
                if (Convert.ToInt32(kq) > 0)
                {
                    MessageBox.Show("Mã này đã tồn tài!", "Thông báo!");
                    txtMaNgaThi.Focus();
                    return false;
                }
            }
            if (txtGioThi.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập giờ ngày!" + int.Parse(dtpNgayThi.Value.Year.ToString()), "Thông báo");
                txtGioThi.Focus();
                return false;
            }
            //DateTime ngay = new DateTime();
            if (int.Parse(dtpNgayThi.Value.Year.ToString()) <= int.Parse(DateTime.Now.Year.ToString()) )
            {
                MessageBox.Show("Nhập năm ngày sai!\nVì năm nhỏ hơn năm hiện tại!", "Thông báo!");
                dtpNgayThi.Focus();
                return false;
            }
            return true;
        }
        private void XoaNgayThi()
        {
            clsNgay = new clsNgayThi();
            clsNgay.MaNgayThi = txtMaNgaThi.Text.Trim();
            //clsNgay.GioThi = txtGioThi.Text.Trim();
            //clsNgay.NgayThi = dtpNgayThi.Value;
            if (MessageBox.Show("Bạn muốn xóa mã số: " + txtMaNgaThi.Text.Trim() + "?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                ngayThiBus.XoaNgayThi(clsNgay);
               // MessageBox.Show("Xoá thành công!", "Thông báo!");
                LoadNgayThi();
            }
        }
    }
}
